iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
Python

我的Python奇幻學習之旅系列 第 27

鐵人賽 Day27 Python的奇幻之旅-pandas(熊貓)-9

  • 分享至 

  • xImage
  •  

Pandas DataFrame 常用方法示例-2

1. bfill()

用下一行的值替換空值。

import pandas as pd

data = {'A': [1, None, 3], 'B': [4, 5, None]}
df = pd.DataFrame(data)
bfilled_df = df.bfill()
print(bfilled_df)

# 輸出結果
#      A    B
# 0  1.0  4.0
# 1  3.0  5.0
# 2  3.0  NaN

2. bool()

返回 DataFrame 的布爾值。

bool_value = df.bool()
print(bool_value)

# 輸出結果
# False

3. columns

返回 DataFrame 的列標籤。

columns = df.columns
print(columns)

# 輸出結果
# Index(['A', 'B'], dtype='object')

4. combine()

比較兩個 DataFrame 中的值,並讓一個函數決定保留哪些值。

df1 = pd.DataFrame({'A': [1, 2, 3]})
df2 = pd.DataFrame({'A': [3, 2, 1]})
combined_df = df1.combine(df2, lambda x, y: x if x > y else y)
print(combined_df)

# 輸出結果
#    A
# 0  3
# 1  2
# 2  3

5. combine_first()

比較兩個 DataFrame,如果第一個 DataFrame 中有空值,則用第二個 DataFrame 中相應的值填充。

df1 = pd.DataFrame({'A': [1, None, 3]})
df2 = pd.DataFrame({'A': [4, 5, 6]})
combined_first_df = df1.combine_first(df2)
print(combined_first_df)

# 輸出結果
#      A
# 0  1.0
# 1  5.0
# 2  3.0

6. compare()

比較兩個 DataFrame 並返回差異。

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [1, 3], 'B': [3, 5]})
comparison_df = df1.compare(df2)
print(comparison_df)

# 輸出結果
#    A      
#  1  2
#  1  4

7. convert_dtypes()

將 DataFrame 中的列轉換為新的數據類型。

df = pd.DataFrame({'A': ['1', '2', '3']})
converted_df = df.convert_dtypes()
print(converted_df.dtypes)

# 輸出結果
# A    Int64
# dtype: object

8. corr()

找出每列之間的相關性(關係)。

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
correlation = df.corr()
print(correlation)

# 輸出結果
#      A    B
# A  1.0  1.0
# B  1.0  1.0

9. count()

返回每列/行的非空單元格的數量。

count_df = df.count()
print(count_df)

# 輸出結果
# A    3
# B    3
# dtype: int64

10. cov()

計算列的協方差。

covariance = df.cov()
print(covariance)

# 輸出結果
#      A    B
# A  1.0  1.0
# B  1.0  1.0

11. copy()

返回 DataFrame 的副本。

df_copy = df.copy()
print(df_copy)

# 輸出結果
#    A  B
# 0  1  4
# 1  2  5
# 2  3  6

12. cummax()

計算 DataFrame 的累積最大值。

cummax_df = df.cummax()
print(cummax_df)

# 輸出結果
#    A  B
# 0  1  4
# 1  2  5
# 2  3  6

13. cummin()

計算 DataFrame 的累積最小值。

cummin_df = df.cummin()
print(cummin_df)

# 輸出結果
#    A  B
# 0  1  4
# 1  1  4
# 2  1  4

14. cumprod()

計算 DataFrame 的累積乘積。

cumprod_df = df.cumprod()
print(cumprod_df)

# 輸出結果
#    A    B
# 0  1   4
# 1  2   20
# 2  6  120

15. cumsum()

計算 DataFrame 的累積和。

cumsum_df = df.cumsum()
print(cumsum_df)

# 輸出結果
#    A  B
# 0  1  4
# 1  3  9
# 2  6 15

16. describe()

返回每列的描述性總結。

description = df.describe()
print(description)

# 輸出結果
#              A    B
# count  3.000000  3.0
# mean   2.000000  5.0
# std    1.000000  1.0
# min    1.000000  4.0
# 25%    1.500000  4.5
# 50%    2.000000  5.0
# 75%    2.500000  5.5
# max    3.000000  6.0

17. diff()

計算一個值與同列中前一行的值的差。

diff_df = df.diff()
print(diff_df)

# 輸出結果
#    A    B
# 0  NaN  NaN
# 1  1.0  1.0
# 2  1.0  1.0

18. div()

將 DataFrame 的值與指定值相除。

div_df = df.div(2)
print(div_df)

# 輸出結果
#    A    B
# 0  0.5  2.0
# 1  1.0  2.5
# 2  1.5  3.0

19. dot()

將 DataFrame 的值與另一個類數組對象的值相乘,並添加結果。

df1 = pd.DataFrame({'A': [1, 2]})
df2 = pd.DataFrame({'B': [3, 4]})
dot_product = df1.dot(df2.T)
print(dot_product)

# 輸出結果
#    0  1
# 0  3  4
# 1  6  8

20. drop()

從 DataFrame 中刪除指定的行/列。

dropped_df = df.drop(columns=['B'])
print(dropped_df)

# 輸出結果
#    A
# 0  1
# 1  2
# 2  3

21. drop_duplicates()

從 DataFrame 中刪除重複值。

data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
unique_df = df.drop_duplicates()
print(unique_df)

# 輸出結果
#    A  B
# 0  1  4
# 1  2  5
# 3  3  6

上一篇
鐵人賽 Day26 Python的奇幻之旅-pandas(熊貓)-8
下一篇
鐵人賽 Day28 Python的奇幻之旅-pandas(熊貓)-10
系列文
我的Python奇幻學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言